#app {
  width: 100vw;
  height: 100vh;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  font-family: "Microsoft YaHei", "PingFang SC", "Hiragino Sans GB", "Helvetica Neue", Arial, Tahoma, sans-serif;
  // background: url('@/assets/images/background.svg') center bottom no-repeat;
  background-size: contain;
  background: #eee;

  header.top {
    height: var(--v-top-height);
    flex-shrink: 0;
    z-index: 9;
    border-bottom: var(--v-border) 1px solid;
    // background: rgba(var(--v-background-rgb), .1);
    backdrop-filter: blur(5px);
    transition: all 0.6s;
    // box-shadow: var(--v-tr-shadow);
  }

  main.main {
    flex-grow: 1;
    overflow-y: hidden;
    display: flex;
    gap: 10px;
    flex-direction: column;

    .sideBar {
      width: 300px;

      &.wide {
        width: 500px;
      }

      background: rgba(var(--v-theme-rgb), 0.05);

      &.wide {
        background: #fff;
        padding: 10px;
        display: flex;
        flex-direction: column;

        .title {
          color: var(--v-theme);
          font-weight: bold;
          font-size: 15px;
          padding-bottom: 10px;
          flex-shrink: 0;
        }

        .article {
          padding: 0 10px;
          flex-grow: 1;
          overflow-y: auto;
          font-size: 14px;
          line-height: 1.8em;

          p,
          h3,
          h4 {
            padding: 8px 0;
          }

          strong {
            color: var(--v-theme);
            font-weight: normal;
          }

          h4 {
            color: var(--v-theme);
          }
        }
      }

      flex-shrink: 0;
      border-right: var(--v-border) 1px solid;
      border-left: var(--v-border) 1px solid;
      overflow-y: auto;

      &::-webkit-scrollbar {
        width: 8px;
        height: 12px;
        background: var(--v-background);
      }

      &::-webkit-scrollbar-thumb {
        border-radius: 2px;
        background: rgba(var(--v-dark-rgb), .3);
      }

      .routerTabs {
        display: flex;
        background: linear-gradient(to bottom, #fff, #f1f1f1);

        li {
          width: 50%;
          line-height: 42px;
          border-bottom: var(--v-border) 1px solid;
          text-align: center;
          border-left: var(--v-border) 1px solid;

          a {
            display: block;
            font-size: 14px;

            &.active {
              color: var(--v-theme);
              font-weight: bold;
              background: #fff;
            }

          }
        }
      }
    }

    .content {
      flex-grow: 1;
      position: relative;
      background: #fff;

    }
  }

  footer.bottom {
    height: var(--v-top-height);
    flex-shrink: 0;
    border-top: var(--v-border) 1px solid;
    // background: rgba(var(--v-background-rgb), .1);
    backdrop-filter: blur(5px)
  }


  .amap-logo {
    display: none !important;
  }

  .amap-copyright {
    display: none !important;
  }

  .inputZone {
    padding: 10px;

    .title {
      color: var(--v-theme);
      font-size: 15px;
      padding: 10px 0;
    }

    .input {
      width: 100%;
      height: 80px;
      border: var(--v-border) 1px solid;
      resize: none;
      padding: 10px;
      border-radius: 8px;
      transition: all 0.6s;

      &:focus {
        outline: none;
        border-color: var(--v-theme);
        box-shadow: 0 0 10px rgba(var(--v-theme-rgb), 0.3);
      }
    }

    .buttonZone {
      display: flex;
      justify-content: space-between;
      padding-top: 5px;

      .vButton {
        background: rgba(var(--v-theme-rgb), 1);
        color: #fff;
        outline: none;
        border: transparent 1px solid;
        height: 35px;
        line-height: 35px;
        padding: 0 30px;
        border-radius: 4px;
        cursor: pointer;
        transition: all 0.2s;

        &:active {
          background: rgba(var(--v-theme-rgb), 0.85);
        }

        &.empty {
          background: #fff;
          color: var(--v-theme);
          border-color: var(--v-theme);

          &:active {
            background: var(--v-border);
          }
        }

        &:disabled {
          background: #ccc;
          cursor: not-allowed;
        }
      }
    }
  }

  .loading {
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    visibility: hidden;
    opacity: 0;
    transition: all 0.3s;

    &.show {
      visibility: visible;
      opacity: 1;
    }

    .mask {
      position: absolute;
      width: 100%;
      height: 100%;
      left: 0;
      top: 0;
      background: #f0f6f3;
    }

    .load {
      padding: 10px;
      position: relative;

      dl {
        display: flex;
        gap: 10px;
        line-height: 30px;

        .loadingImg {
          width: 30px;
          height: 30px;
        }
      }
    }
  }

  .chartArea {
    padding: 14px;

    h2.title {
      color: var(--v-theme);
      font-size: 15px;
      font-weight: bold;
      padding-bottom: 10px;
    }

    .chart {
      width: 100%;
      border: var(--v-border) 1px solid;
      position: relative;
    }

    .eChart {
      width: 100%;
      height: calc(100vh - 180px);
    }
  }

  .outInfo {
    margin: 10px;
    padding: 10px;
    font-size: 13px;
    line-height: 1.8em;

    .list {
      dl {
        display: flex;
        justify-content: space-between;
        line-height: 24px;

        dd {
          color: var(--v-theme);
          fill: var(--v-theme);
          font-size: 18px;
          visibility: hidden;
        }

        &.finished {
          color: var(--v-theme);

          dd {
            visibility: visible;
          }
        }
      }
    }
  }
}